//$(function() {
function VideoPlay() {
    var zwplayer = function(options) {
        var opt = {
            title: 'title',   //显示标题元素的id
            player: 'player',  //播放器所在元素的id
            playlist: 'playlist',  //播放列表所在元素的id
            playclass: '', //播放中的样式
            url: '',              //视频请求地址的url
            content: 'content',   //视频关联文件的加载位置
            id: '',         //课程请求id
            rtmp: ''       //媒体服务器的地址
        };

        var self = this;
        $.extend(opt, options);

        self.init = function() {
            self.loadplaylist(); //加载播放文件
            self.BindPlaylist(); //初始化播放列表
        }
        //使用ajax加载请求播放列表
        self.loadplaylist = function() {
            $.ajax({
                type: 'GET',
                cache: false,
                url: opt.url,
                data: "id=" + opt.id,
                dataType: 'json',
                success: self.initplayer,
                error: self.error
            });
            //设定播放中的样式
            $("#" + opt.id).attr("class", opt.playclass);
        }

        //初始化播放器
        self.initplayer = function(data) {
            if (data.status) {
                self.showlecture(data.msg);
                self.showtitle(data.title);
                // 在player div中加载播放器
                $f(opt.player, "../flowPlayer/flowplayer-3.1.5.swf", {
                    //播放项的代码
                    clip: {
                        // 使用的协议驱动 如果为flv则不填
                        provider: 'rtmp',
                        autoPlay: true, //是否开启自动播放
                        autoBuffering: true,
                        loop: true
                    },
                    //onLoad: self.onLoad,
                    onFinish: self.onFinish,
                    onError: function(errorCode, errorMessage) {
                        if (errorCode == 200 || errorCode == 201) {
                            alert("视频正在审核中！");
                            self.playnext();
                        }
                        else {
                            alert(errorCode);
                        }

                    },
                    //onPlaylistReplace:function(){alert("切换播放列表");}, 播放列表切换事件
                    playlist: data.list,
                    plugins: { //加载rtmp插件
                        rtmp: {
                            url: '../flowPlayer/flowplayer.rtmp-3.1.3.swf', //rtmp插件地址
                            netConnectionUrl: opt.rtmp //rtmp服务器地址
                        }
                    }
                }); //.playlist("#"+opt.playlist,{loop:true});
            }
            else {
                //alert(data.msg);
                $("#player").removeAttr("style");
                $("#player").html(data.msg);
            }
        }
        //开始播放视频的处理事件
        //      self.onLoad = function(){
        //          self.loadlecture(opt.id);
        //      }
        //结束播放后触发事件
        self.onFinish = function() {
            var f = $f(opt.player);
            if (f.getPlaylist().length == f.getClip().index + 1) {
                self.playnext();
            }
        }
        //切换到下一个播放课程
        self.playnext = function() {
            var l = $("#" + opt.playlist).find("a");
            var play = $("a.play");
            if (l.length > 0 && play) {
                var i = l.index(play);
                if (i + 1 < l.length) {
                    $(l[i + 1]).click();
                }
                else {
                    $(l[0]).click();
                }
            }
        }
        //处理加载错误
        self.error = function() {
            alert("视频加载失败，请刷新页面重试");
        }
        //为播放列表绑定事件
        self.BindPlaylist = function() {
            //获取播放列表的标示
            var list = $("#" + opt.playlist).find("a");
            if (list.length > 0) {
                list.click(self.click);
            }
        }
        //点击单个播放项的时间
        self.click = function() {
            var id = $(this).attr("id");
            $("a.play").removeClass(opt.playclass);  //去除正在播放的课程的样式
            $(this).attr("class", opt.playclass);    //设定播放中的样式
            if (id) {
                $.ajax({
                    url: opt.url,  //加载视频地址
                    data: "id=" + id,
                    cache: false,
                    type: 'get',
                    dataType: "json",
                    error: self.error,
                    success: function(data) {
                        if (data.status) {
                            $f(opt.player).setPlaylist(data.list); //设定播放列表
                            //self.loadlecture(id);   //加载讲义
                            self.showlecture(data.msg);
                            self.showtitle(data.title);
                            $f(opt.player).play();
                        }
                        else {
                            alert(data.msg);
                        }
                    }
                });
            }
        }
        //加载讲义
        //      self.loadlecture=function(id){
        //          $.ajax({
        //               url:opt.lectureurl,//讲义加载地址
        //               data:"id="+id,
        //               cache:false,
        //               type:'GET',
        //               success:self.showlecture,
        //               error:function(){
        //                    alert("讲义加载失败");
        //               }
        //          });
        //      }
        //显示讲义
        self.showlecture = function(data) {
            //目前无数据格式
            $("#" + opt.content).html(data)
        }
        //显示title
        self.showtitle = function(title) {
            $("#" + opt.title).html(title);
        }
        //初始化调用
        self.init();
    };
    //调用该对象
    zwplayer({
        url: 'video_load.aspx',
        playclass: 'play',
        id: $("#HideId").val(),
        rtmp: 'rtmp://219.133.35.46/oflaDemo/'
    });

}
